// JavaScript Document
setCal();

function leapYear(year)
{
	if (year % 4 == 0) 
		return true ;
}
function getDays(month, year)
{
	var ar = new Array(12);
	ar[0] = 31;
	ar[1] = (leapYear(year)) ? 29 : 28;
	ar[2] = 31;
	ar[3] = 30; 
	ar[4] = 31; 
	ar[5] = 30; 
	ar[6] = 31; 
	ar[7] = 31; 
	ar[8] = 30; 
	ar[9] = 31; 
	ar[10] = 30; 
	ar[11] = 31; 
	return ar[month];
}
function getMonthName(month)
{
	var ar = new Array(12);
	ar[0] = "Tháng 01";
	ar[1] = "Tháng 02";
	ar[2] = "Tháng 03";
	ar[3] = "Tháng 04";
	ar[4] = "Tháng 05";
	ar[5] = "Tháng 06";
	ar[6] = "Tháng 07";
	ar[7] = "Tháng 08";
	ar[8] = "Tháng 09";
	ar[9] = "Tháng 10";
	ar[10] = "Tháng 11";
	ar[11] = "Tháng 12";
	return ar[month];
}
function setCal()
{
	var now = new Date();
	var year = now.getYear();
	if (year < 1000)
		year+=1900;
	var month = now.getMonth();
	var monthName = getMonthName(month);
	var date = now.getDate();
	now = null;
	var firstDayInstance = new Date(year, month, 1);
	var firstDay = firstDayInstance.getDay();
	firstDayInstance = null;
	var days = getDays(month, year);
	drawCal(firstDay + 1, days, date, monthName, year);
}
function drawCal(firstDay, lastDate, date, monthName, year)
{	
	var text = ""; 
	text+='<TABLE bgcolor="#00CCFF" BORDER="0" WIDTH="100%" HEIGHT="163">';
	
	text+='<tr>';
	text+='<td align="center" style="color:#FFFFFF;border-bottom-style:double;border-color:#00EEFF;border-width:1px;font-weight:bold;" COLSPAN=7>'; 
	text+=monthName+' Năm '+year; 
	text+='</td>';
	text+='</tr>';
	
	var openCol='<td WIDTH='+20+' style="color:#FFFFFF;">';
	var closeCol='</td>';
	var weekDay = new Array(7);
	weekDay[0]="CN";
	weekDay[1]="T2";
	weekDay[2]="T3";
	weekDay[3]="T4";
	weekDay[4]="T5";
	weekDay[5]="T6";
	weekDay[6]="T7";
	
	text+='<tr ALIGN="center">';
	for (var dayNum = 0; dayNum < 7; ++dayNum)
	{
		text += openCol + weekDay[dayNum] + closeCol; 
	}
	text += '</tr>';
	
	var digit = 1;
	var curCell = 1;
	for (var row = 1; row <= Math.ceil((lastDate + firstDay - 1) / 7); ++row)//ceil: function to round up number. Ex: 4.2 -> 5
	{
		text += '<tr ALIGN="center" VALIGN="middle">';
		for (var col = 1; col <= 7; ++col)
		{
			if (digit > lastDate)
				break;
			if (curCell < firstDay)
			{
				text += '<td></td>';//no present day
				curCell++;
			} else
			{
				if (digit == date)//present day
				{ 
					text += '<td style="color:#FFFFFF;border-style:double;border-color:#FFFFFF;border-width:1px;font-size:13px;font-weight:bold;">';
					text += digit;
					text += '</td>';
				}
				else
					text += '<td style="color:#666; font-size:13px">' + digit + '</td>';
					digit++;
			}
		}
		text += '</tr>';
	}
	text += '</TABLE>';
	document.write(text);
}